﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
//lkjlkhkjhkjhkjhkjhkjhkjhkj
namespace VerdePimienta2._0
{
    public partial class EmpleadoNuevo : Form
    {
        string constring = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\VP\\des_VP.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
        //string constring = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\VP\\verdepimientadb.mdf;Integrated Security=True;User Instance=True";
        //string constring = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Documents and Settings\\Chema\\Mis documentos\\Visual Studio 2008\\Projects\\VerdePimienta2.0\\VerdePimienta2.0\\verdepimientadb.mdf;Integrated Security=True;User Instance=True";
        public EmpleadoNuevo()
        {
            InitializeComponent();
        }

        //Botón GUARDAR DATOS Empleado
        private void btnguardarDatosEmpleado_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtnombreEmpleado.Text) || string.IsNullOrEmpty(txtapellidosEmpleado.Text) || string.IsNullOrEmpty(txtdniEmpleado.Text) || string.IsNullOrEmpty(txtNacionalidadEmpleado.Text) || string.IsNullOrEmpty(txtNumeroEmpleado.Text))
            {
                MessageBox.Show("Se deben rellenar todos los campos", "Error datos empleado.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                Validaciones V = new Validaciones();
                if (V.ValidarTlfsEmpleado(txttelefonoEmpleado.Text, txtmovilEmpleado.Text))
                {
                    DialogResult drEmp = MessageBox.Show("¿Está seguro de realizar el alta de empleado?", "Nuevo Empleado.", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                    if (drEmp == DialogResult.OK)
                    {
                        try
                        {
                            SqlConnection conContratar = new SqlConnection(constring);
                            conContratar.Open();
                            SqlDataAdapter daContratar = new SqlDataAdapter("Select * From Empleados", conContratar);
                            DataSet dsContratar = new DataSet("Empleados");
                            daContratar.FillSchema(dsContratar, SchemaType.Source, "Empleados");
                            daContratar.Fill(dsContratar, "Empleados");
                            DataTable tblContratar;
                            tblContratar = dsContratar.Tables["Empleados"];
                            DataRow drContratar = tblContratar.NewRow();

                            //Guardar los datos del empleado nuevo en la tabla
                            drContratar["Nombre"] = txtnombreEmpleado.Text;
                            drContratar["Apellidos"] = txtapellidosEmpleado.Text;
                            drContratar["Nacionalidad"] = txtNacionalidadEmpleado.Text;
                            drContratar["Telefono"] = txttelefonoEmpleado.Text;
                            drContratar["Movil"] = txtmovilEmpleado.Text;
                            drContratar["Dni"] = txtdniEmpleado.Text;
                            drContratar["NumUsuario"] = txtNumeroEmpleado.Text;
                            drContratar["Baja"] = 0;

                            tblContratar.Rows.Add(drContratar);                            
                            SqlCommandBuilder objCommandBuilder = new SqlCommandBuilder(daContratar);
                            daContratar.Update(dsContratar, "Empleados");
                            
                            //Limpiar textBox y cerrar la conexión
                            resetForm();
                            conContratar.Close();

                            MessageBox.Show("La contratación ha sido realizada con éxito");

                            Close();
                        }
                        catch (Exception exc)
                        {
                            MessageBox.Show("Error en acceso a base de datos.", exc.Message, MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }
                else 
                {
                    MessageBox.Show("El teléfono o el móvil del usuario no tiene el formato correcto", "Error datos teléfono", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }

        //Función ResetForm
        private void resetForm()
        {            
            txtnombreEmpleado.Clear();
            txtapellidosEmpleado.Clear();
            txtNacionalidadEmpleado.Clear();
            txttelefonoEmpleado.Clear();
            txtmovilEmpleado.Clear();
            txtdniEmpleado.Clear();
            txtNumeroEmpleado.Clear();
        }
    }
}
